<?php
class TestKM_Contacto_Modelo extends TestPojos
{
	public function testConsolidaConfiguracion()
	{
        $instancia      = new KM_Contacto_Modelo($this->accesoBD);
        $configuracion  = $instancia->recuperaConfiguracion();
		
        $control1 = ($configuracion->getIdentificador() <= 0);
        $control2 = (Soporte::cadenaVacia($configuracion->getPropiedad("email")));
		$control3 = (Soporte::cadenaVacia($configuracion->getPropiedad("asunto")));

        $servidor       = "el servidor";
        $usuario        = "el usuario";
        $password       = "el password";
        $asunto         = "el asunto";
        $email          = "email@email.com";
        $configuracion  = null;
        $configuracion  = $this->creaConfiguracion($servidor, $usuario, $password, $asunto, $email);
        
        $instancia->consolidaConfiguracion($configuracion);
        
        $configuracion  = null;
        $configuracion  = $instancia->recuperaConfiguracion();
        
        $identificador  = $configuracion->getIdentificador();
        $control4       = ($identificador > 0);
        $control5       = ($email  == $configuracion->getPropiedad("email"));
        $control6       = ($asunto == $configuracion->getPropiedad("asunto"));
        
        $configuracion  = null;
        $configuracion  = $instancia->recuperaConfiguracion();
        $control7       = ($configuracion->getIdentificador() == $identificador);
        
        $configuracion->purga();

		$this->assert($control1, "1) consolidaConfiguracion");
		$this->assert($control2, "2) consolidaConfiguracion");
		$this->assert($control3, "3) consolidaConfiguracion");
		$this->assert($control4, "4) consolidaConfiguracion");
		$this->assert($control5, "5) consolidaConfiguracion");
		$this->assert($control6, "6) consolidaConfiguracion");
		$this->assert($control7, "7) consolidaConfiguracion");
	}

	public function setUp()
	{
		$instancia = new KM_Contacto_Configuracion ($this->accesoBD);
		$instancia->borraTabla();
		$instancia->creaTabla();
	}

    private function creaConfiguracion ($servidor, $usuario, $password, $asunto, $email)
    {
        $retorno = new KM_Contacto_Configuracion($this->accesoBD);

        $retorno->setPropiedad("servidor",    $servidor);
        $retorno->setPropiedad("usuario",     $usuario);
        $retorno->setPropiedad("password",    $password);
        $retorno->setPropiedad("asunto",      $asunto);
        $retorno->setPropiedad("email",       $email);

        return $retorno;
    }
}
?>